import Vue from 'vue'
import Vuex from 'vuex'
import Axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    user: localStorage.getItem('user') ? JSON.parse( localStorage.getItem('user') ): {},//保存登陆用户信息
    taskList: localStorage.getItem('taskList') ? JSON.parse(localStorage.getItem('taskList')) :[]//保存所有提交的申请(任务)
  },
  mutations: {
    save_user_info(state,user) {//保存用户信息
      state.user = user;
      //保存到localStorage
      localStorage.setItem('user', JSON.stringify( user ));
    },
    saveTask(state, task) {//保存 任务
      task.id = state.taskList.length + 1; //给新增的 任务 添加一个id
      state.taskList.push(task);
      //保存到localStorage
      localStorage.setItem('taskList', JSON.stringify(state.taskList));
    }
  },

  actions: {
    request_user_info({commit},id) {//异步请求用户信息
      Axios.post('/user/info', { id: id }).then((res) => {
        commit('save_user_info',res.data.info)
      })
    }
  },
  modules: {
  }
})
